package br.com.nuccitec.jfera.validation.vo;

import java.util.List;

import javax.jdo.PersistenceManager;

import br.com.nuccitec.jfera.api.IUser;

import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.users.UserService;

public interface IVOColaborator {
	public <E> E makePersistent(E e);

	public void logInfo(Class<?> class1, String message);

	public IUser getLoggedUser();

	public PersistenceManager getPersistenceManager();

	public Key stringToKey(String encodedId);

	public String keyToString(Key id);

	public <T> T getObjectById(Class<T> clazz, String encodedId);

	public <T> T getObjectById(Class<T> clazz, Key id);

	public <E> List<E> findAll(Class<E> clazz);

	public <E> List<E> findAllFromUser(Class<E> clazz);

	public UserService getGoogleUserService();
}
